A resistance change memory (for example, ReRAM: Resistive Random Access Memory) is used as a nonvolatile semiconductor element. The resistance change memory nonvolatilely stores a resistance value information of a variable resistance element which is electrically rewritable.